JOANNEUMHomeForschungsbereicheNeuSite MapRESEARCH      englishsuchenHilfe

vorheriges Kapitel Inhalt Hilfe Beispiele laden nächstes Kapitel

Objekte 2: Zellen und Zellbereiche

Bereiche aus mehreren Zellen

Nicht die einzelne Zelle, sondern der Zellbereich ist das kleinste Objekt in einem Tabellenblatt (obwohl natürlich ein Zellbereich auch nur eine Zelle enthalten kann). Dieses Bereichs-Objekt hat wieder eine Reihe erfrag- und setzbarer Eigenschaften:


Abbildung 21: Die wichtigsten Eigenschaften eines Zellbereiches.

Das Schriftart-Objekt eines Bereiches wird über die Schriftart-Eigenschaft eines Bereichs-Objektes definiert und dann über die folgenden Eigenschaften näher definiert:


Abbildung 22: Eigenschaften des Schriftart-Objektes.

Weiters können Zellbereiche mit Rahmen (innen wie außen) versehen werden. Das Rahmen-Objekt wird mit Hilfe der "RahmenListe"-Methode des Bereichs-Objektes erfragt und dann über die folgenden Eigenschaften formatiert:


Abbildung 23: Eigenschaften des Rahmen-Objektes.

Schließlich ist auch der Innenbereich jeder Zelle eines Bereiches veränderbar. Das Innenbereichs-Objekt wird über die Innenbereich-Eigenschaft des Bereichs-Objektes ermittelt und dann mit den folgenden Eigenschaften in seinem Aussehen definiert:


Abbildung 24: Eigenschaften des Innenbereichs eines Zellbereiches.

Schließlich kann auch der ganze Bereich manipuliert werden.


Abbildung 25: Informationen über einen Bereich; Änderung des Bereichs - dazu dienen diese Methoden.

Sonderfall: Bereich umfaßt nur eine Zelle

Ein solcher Bereich hat zusätzliche Eigenschaften:


Abbildung 26: Eigenschaften von Zellbereichen, die aus einer einzelnen Zelle bestehen.

Jede Zelle eines EXCEL-Arbeitsblattes kann auf vielfältige Weise beschrieben werden:

Diese Informationen über eine Zelle werden "Eigenschaften" genannt.

Die Eigenschaften einer Zelle können durch VBA verändert werden:

Auch mit "Methoden" kann eine Zelle bearbeitet werden:

Eine besondere Zelle ist die, in der der Cursor steht-sie ist die "aktive Zelle" und kann auch so angesprochen werden, als "ActiveCell".

Wie kommen wir zur Zelle B5 des Arbeitsblattes "Tabelle1"?

Jede Zelle eines Tabellenblattes ist Teil eines Objektes-eines "Bereichs-Objektes". Das Bereichs-Objekt (englisch "Range") wieder ist in "Container-Objekten" eingebettet-Tabellenblatt, Arbeitsmappe, Anwendung, also EXCEL 5.0. Je "näher" wir dem Bereichs-Objekt sind, um so einfacher können wir es ansprechen:

Ist das Tabellenblatt "Tabelle1" aktiv (es ist im aktiven Fenster sichtbar), dann genügen Zellreferenz und "Select"-Methode:

[B5].Select
Cells(5, 2).Select


um diese Zelle zur aktiven Zelle zu machen. (Nach dem Ende des VBA-Programmes, das diesen Befehl enthält, würde diese Zelle mit dem Cursor-Rahmen versehen sein.)

Ist ein anderes Blatt als "Tabelle1" sichtbar, dann müssen Sie bei der Zellauswahl auch den Blattnamen angeben:

[Tabelle1!B5].Select
worksheets("Tabelle1").Cells(5, 2).Select


Ist sogar eine andere Arbeitsmappe aktiv, dann müssen Sie zunächst die Mappe aktivieren, in der "Tabelle1" enthalten ist:

Workbooks("Tutor1.xls").Activate
[Tabelle1!B5].Select


Da unter VBA eine Zelle eine "Range" ("Bereich") ist, können wir auch schreiben:

Range("B5").Select
Worksheets("Tabelle4").Range("B5").Select
Workbooks("Tutor1.XLS").Activate
Worksheets("Tabelle4").Range("B5").Select


Eigenschaften von Zelle B5 setzen und erfragen

[A1]-FORMAT

[B5].Select
[B5].Value = "Test"  
[B5].Font.Size = 14
[B5].Font.Bold = Wahr
MsgBox "Schriftart in Zelle B5 ist: " + _
    [B5].Font.Name
MsgBox "Inhalt von Zelle B5 ist: " + _
    [B5].Value


ALS BEREICHS-OBJEKT

Range("B5").Value = "Test2"
Range("B5").Font.Size = 12
Range("B5").Font.Bold = False
"Schriftart in Zelle B5 ist: " + _
    Range("B5").Font.Name
MsgBox "Inhalt von Zelle B5 ist: " + _
    Range("B5").Value


Eigenschaften mehrerer Zellen setzen und erfragen

[A1]-FORMAT

[A1].Select
[A3:B6].Value = "Test"
[A3:B6].Font.Size = 14
[A3:B6].Font.Bold = True


Beim Erfragen von Eigenschaften mehrerer Zellen ist Vorsicht geboten. Bei der Schriftart geht das noch-falls jede Zelle die selbe Schriftart hat. Bei der Eigenschaft "Value" streikt EXCEL und gibt eine Fehlermeldung aus.

ALS BEREICHS-OBJEKT

Folgende Arbeitsschritte sind dabei zu setzen:

Bereich definieren Bleiben wir wieder bei unserem Bereich, den Zellen A3 bis B6 in "Tabelle2". Wir schreiben diesfalls

Sub Hauptprogramm_31()

Set MeinBereich = ActiveWorkbook.Sheets("Tabelle2").Range("A3:B6")
MsgBox MeinBereich.Address(external:= True)

End Sub


lassen das VBA-Programm laufen und erhalten im Meldungsdialog die Zelladresse.

Bereich mit Wert belegen Dazu müssen wir den Zellen des Bereiches den Wert zuweisen (Objekt-Gurus würden sagen: "Die Wert-Eigenschaft des Bereichs-Objektes setzen".)

Sub Hauptprogramm_32()

Set MeinBereich = ActiveWorkbook.Sheets("Tabelle2").Range("A3:B6")
MeinBereich.Value = 12
 
End Sub


Werte aus allen Zellen des Bereiches auslesen Dies geht am einfachsten so, daß wir aus jeder einzelnen Zelle des Bereiches ein Objekt bilden, dessen Wert wir erfragen und anzeigen.

Sub Hauptprogramm_33()

Set Meinbereich = ActiveWorkbook.Sheets("Tabelle2").Range("A3:B6")
For Each EineZelle In Meinbereich.Cells
    MsgBox EineZelle.Address
    MsgBox EineZelle.Value 
Next

End Sub

vorheriges Kapitel Inhalt Hilfe Beispiele laden nächstes Kapitel

------------

Copyright © by JOANNEUM RESEARCH Forschungsgesellschaft mbH